package cn.exrick.xboot.base.dto

import cn.exrick.xboot.core.common.constant.CommonConstant
import cn.exrick.xboot.core.common.utils.NameUtil
import io.swagger.annotations.ApiModel
import io.swagger.annotations.ApiModelProperty
import javax.validation.constraints.Pattern

@ApiModel("企业用户入参实体")
data class EnterpriseEmployeeDto(

        @ApiModelProperty("id")
        var id: String? = null,

        @ApiModelProperty("位置 上方1 下方2  默认0")
        var position: Int? = 0,

        @ApiModelProperty("当前员工id")
        var employeeId: String? = "",

        @ApiModelProperty("昵称")
        var nickname: String = "",

        @ApiModelProperty("登录密码")
        var password: String? = null,

        @ApiModelProperty(value = "手机")
        var mobile: @Pattern(regexp = NameUtil.regMobile, message = "11位手机号格式不正确") String? = null,

        @ApiModelProperty(value = "邮箱")
        var email: @Pattern(regexp = NameUtil.regEmail, message = "邮箱格式不正确") String? = null,

        @ApiModelProperty(value = "区域id")
        var areaId: String? = null,

        @ApiModelProperty(value = "街道地址")
        var street: String? = null,

        @ApiModelProperty(value = "性别")
        var sex: String? = null,

        @ApiModelProperty("头像")
        var avatar: String? = CommonConstant.USER_DEFAULT_AVATAR,

        @ApiModelProperty(value = "用户类型 0普通用户 1管理员")
        var type: Int? = CommonConstant.USER_TYPE_NORMAL,

        @ApiModelProperty(value = "状态 默认0正常 -1拉黑")
        var status: Int? = CommonConstant.USER_STATUS_NORMAL,

        @ApiModelProperty(value = "所属部门id")
        var departmentId: String? = null,

        @ApiModelProperty(value = "角色ids[逗号拼接]")
        var roleIds: List<String>? = null,

        @ApiModelProperty("岗位")
        var jobId: String = "",

        @ApiModelProperty("是否能够直接离岗")
        var dimission: Boolean = false,

        @ApiModelProperty("企业id")
        var enterpriseId: String? = ""
)
